<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN">
<html>
<head>
<title>Introduction</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta name="generator" content="Doc-O-Matic" />
    <meta http-equiv="Content-Style-Type" content="text/css" />
    <link rel="STYLESHEET" href="default.css" type="text/css" />

<script type="text/javascript" src="scripts.js"></script>
</head>
<body class="Element700" onload="onBodyLoadEx('frames.html', 'topic', '01258.html');" onmousedown="onBodyMouseDown();">

<!-- Begin Popups -->

<!-- End Popups -->

<!-- Begin Page Header -->
<div class="Element710" id="areafixed">
<div class="Element94">
<a href="01259.html" target="topic">System Service Libraries Help</a> &gt; <a href="01258.html" target="topic">Introduction</a></div>
<div class="Element92">
<table width="100%" cellspacing="0" cellpadding="0">
<tr><td width="25%">
<div class="Element1">
MPLAB Harmony Core Help</div>
</td><td width="25%">
<div class="Element2">
<a href="contents.html" target="tocidx">Contents</a> | <a href="00007.html" target="topic">Home</a></div>
</td><td width="25%">
<div class="Element90">
<a href="01259.html" target="topic">Previous</a> | <a href="01259.html" target="topic">Up</a> | <a href="00683.html" target="topic">Next</a></div>
</td><td width="25%">
<div class="Element96">
<a href="mailto:docerrors@microchip.com&subject=MPLAB Harmony Documentation Feedback (Topic ID: SYSTEM Introduction Topic Title: Introduction)&body=Thank you for your feedback! Please include a description of your feedback, and indicate whether you are reporting an an error in the documentation or an enhancement.">Documentation Feedback</a><br> <a href="http://support.microchip.com" target="_blank">Microchip Support</a></div>
</td></tr></table><div class="Element5">
Introduction</div>
</div>
</div>

<!-- End Page Header -->

<!-- Begin Client Area -->
<div class="Element720" id="areascroll">
<div class="Element721">

<!-- Begin Page Content -->
<a name="PageContent"></a><div class="Element58">
<a name="4465736372697074696F6E"></a><div class="Element11">
<div class="Element10">
<p class="Element10">
MPLAB Harmony provides system service libraries to support common functionality and manage resources that are shared by multiple drivers, libraries, and other modules.&nbsp;</p>
<p class="Element10">
A system service encapsulates code that manages a shared resource or implements a common capability in a single location so that it does not need to be replicated by individual drivers and libraries. This feature eliminates duplicated code and creates consistency across all modules, and also helps to eliminate potential conflicts and complex configuration issues and runtime interactions, resulting in a smaller and simpler overall solution.&nbsp;</p>
<p class="Element10">
System services may directly manage one or more peripherals or core processor capabilities by utilizing peripheral libraries, special function registers, special CPU instructions, or coprocessor registers. Some system services may utilize drivers, other system services, or even entire middleware stacks to share or emulate a common resource.&nbsp;</p>
<p class="Element10">
System services may be implemented statically (possibly generated by the MPLAB Harmony Configurator (MHC)) or dynamically to support multiple channels and instances like a driver. However, system services will not normally provide common <i>Open</i> and <i>Close</i> functions like a device driver.&nbsp;</p>
<p class="Element10">
In general, the distinguishing feature of a system service is that it implements a common capability that would otherwise &quot;cut horizontally&quot; across multiple modules in a system, causing interoperability and compatibility conflicts if the capability were implemented by other libraries.&nbsp;</p>
<p class="Element10">
System service functions use the following naming convention:&nbsp;</p>
<p class="Element10">
<span class="Element146">SYS_&lt;module-abbreviation&gt;_[&lt;feature-short-name&gt;]&lt;operation&gt;</span>&nbsp;</p>
<p class="Element10">
Where,</p>
<ul class="Element630">
<li class="Element600"><span class="Element146">SYS_</span> indicates that this is a system service function</li>
<li class="Element600"><span class="Element146">&lt;module-abbreviation&gt;</span> is the abbreviated name of the system service module to which this function belongs</li>
<li class="Element600"><span class="Element146">[&lt;feature-short-name&gt;]</span> is an optional short (or shortened) name that identifies the feature of the associated system service module to which this function refers. The feature short name will appear in the name of all functions that interact with or provide access to that particular feature.</li>
<li class="Element600"><span class="Element146">&lt;operation&gt;</span> is a verb that identifies the action taken by the function</li>
</ul><p class="Element10">
For example, <a href="01249.html" target="topic">SYS_TIME_TimerStart</a>, where:</p>
<ul class="Element630">
<li class="Element600"><span class="Element146">&lt;module-abbreviation&gt;</span> = <span class="Element146">TMR</span>, which indicates that this is a Timer System Service function</li>
<li class="Element600"><span class="Element146">&lt;feature-short-name&gt;</span> = <span class="Element146">Alarm</span>, which indicates that this function controls the alarm feature of the Timer System Service</li>
<li class="Element600"><span class="Element146">&lt;operation&gt;</span> = <span class="Element146">Set</span>, which indicates that this function sets the value of the alarm feature of the Timer System Service, as indicated by the function's parameters (not shown above).</li>
</ul></div>
</div>
</div>
<!-- End Page Content -->

<!-- Begin Page Footer -->
<div class="Element95">
<a href="01259.html" target="topic">System Service Libraries Help</a> &gt; <a href="01258.html" target="topic">Introduction</a></div>
<div class="Element93">
<table width="100%" cellspacing="0" cellpadding="0">
<tr><td width="25%">
<div class="Element3">
MPLAB Harmony Core Help</div>
</td><td width="25%">
<div class="Element4">
<a href="contents.html" target="tocidx">Contents</a> | <a href="00007.html" target="topic">Home</a></div>
</td><td width="25%">
<div class="Element91">
<a href="01259.html" target="topic">Previous</a> | <a href="01259.html" target="topic">Up</a> | <a href="00683.html" target="topic">Next</a></div>
</td><td width="25%">
<div class="Element97">
<a href="mailto:docerrors@microchip.com&subject=MPLAB Harmony Documentation Feedback (Topic ID: SYSTEM Introduction Topic Title: Introduction)&body=Thank you for your feedback! Please include a description of your feedback, and indicate whether you are reporting an an error in the documentation or an enhancement.">Documentation Feedback</a><br> <a href="http://support.microchip.com" target="_blank">Microchip Support</a></div>
</td></tr></table></div>

<!-- End Page Footer -->
</div>
</div>

<!-- End Client Area -->
</body></html>